CentOS 7 安装与 Hadoop 配置

安装CentOS 7

下载链接

最小安装版(推荐,使用此镜像不用选择软件安装,只需配置用户即可)

CentOS 安装流程及其配置

使用VM创建虚拟机,进入安装界面
pic_1
选择语言
pic_2

  • (重要)点击软件选择
    pic_3
    pic_4
    pic_5
    设置密码
    pic_6
    等待安装完成

修改主机名

  • 使用 hostnamectl查看,修改用hostnamectl set-hostname [name]

查看&关闭防火墙
CentOS7默认使用firewall作为防火墙查看防火墙状态

  • firewall -cmd –state

停止防火墙

  • systemctl stop firewalld.service

禁止开机启动

  • systemctl disable firewalld.service

设置IP

  • vi /etc/sysconfig/network-scripts/ifcfg-ens33
  • 把ONBOOT=no修改为yes

重启网络服务

  • sudo service network restart

生成Hadoop账户
pic_7
图为Slave的生成,其他也一样

配置免密码的SSH

首先,切换账户

  • 使用 su - [username] 进行切换

生成密钥对

  • 生成密钥 ssh-keygen -t rsa 使用rsa算法

获取本机IP地址

  • ifconfig 找到ens33里面的inet,后面的就是IP地址
  • 如果显示command not found,可以先ping www.baidu.com 确认虚拟机可以连接外网,然后使用yum install net-tool 安装即可使用
  • 又或者使用ip addr也可获得

将需要ssh的主机加入hosts

  • vi /etc/hosts
  • 以 [IP地址] [主机名]的形式逐条写入

授予普通用户权限,不然无法使用scp和cat

  • 用root账户操作
  • chmod 640 /etc/sudoers使其可写
  • pic_8找到这个加入自己账户名称且授予权限
  • chmod 440 /etc/sudoers 复原权限
  • 大功告成

分发密钥
由master机器执行以下命令

  • cat id_rsa.pub >> authorized_keys 生成公钥钥信息文件
  • chmod 600 authorized_keys 修改权限,使其可以使用scp传输
  • scp authorized_keys slave[n]:/home/[用户名]/.ssh

slave执行

  • cat id_rsa.pub >> authorized_keys
  • scp authorized_keys slave[n]:/home/[用户名]/.ssh 传递到下一个slave机器

最后的slave机器

  • cat id_rsa.pub >> authorized_keys
  • scp authorized_keys master:/home/[用户名]/.ssh 传递到下一个slave机器,注意master

然后让master分发密钥

  • scp authorized_keys slave[n]:/home/[用户名]/.ssh 依次执行

    分发流程图
    pic_9

  • 注意此时Master可以任意连接slave,slave彼此也能连接,但是不能免密连接master

配置Hadoop

开始配置

完全分布式模式的配置

创建一个tmp目录在Hadoop解压的文件目录下
进入/etc/Hadoop,以下文件操作均在主节点操作

修改core-site.xml
在Configuration内根据自己的实际填入

1
2
3
4
5
6
7
8
<property>
<name>fs.defaultFS</name>
<value>hdfs://fengzhaohao0:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/fengzh/hadoop-2.7.7</value>
</property>

修改hdfs-site.xml

1
2
3
4
<property>
<name>dfs.replication</name>
<value>2</value>
</property>

修改mapred-site.xml(注意,此文件后缀为.template,删除后缀即可)

1
2
3
4
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

修改yarn-site.xml

1
2
3
4
5
6
7
8
<property>
<name>yarn.resourcemanager.hostname</name>
<value>fengzhaohao0</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

修改masters和slaves文件

  • 没则创建,有就直接填入
1
2
3
4
5
// file in masters
[主节点主机名]
//file in slaves
[Slave主机名] //多台主机逐行填写

主节点向节点复制Hadoo

  • scp -r ./hadoop-2.7.7 [slave name]:/home/[username]

格式化完全分布集群(do in master)

  • cd /home/hadoop-2.7.7/bin
  • ./hdfs namenode -format

启动集群

  • cd /home/hadoop-2.7.7/sbin
  • ./start-all.sh //会提示废弃,但不用管,能用

使用jsp命令查看节点集群启动情况

web浏览集群

  • [IP]:50070 NameNode集群监控
  • [IP]:8088 ResourceManager监控
  • [IP]:8042 NodeManager监控

系统报告

  • cd /home/hadoop-2.7.7/sbin
  • ./hdfs dfsadmin -report

Openjdk

  • 没有jps,需要在root下执行yum install -y Java-1.8.0-openjdk-devel安装jps插件

Hadoop

  • Hadoop 2.7.7 默认没有masters文件,须自行添加使用
分享到: